/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ucab.desarrollo.viajesbook.actions;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Map;
import ucab.desarrollo.viajesbook.AppContext;
import ucab.desarrollo.viajesbook.negocio.UsuarioBO;
import ucab.desarrollo.viajesbook.beans.Usuario;


/**
 *
 * @author Magaly Margarita
 */
public class PerfilModificarAction extends  ActionSupport {

    private static final long serialVersionUID = 2228056990625416790L;

    private static final String PERFIL_ACTUALIZADO= "La actualizacion de perfil fue Exitosa";

    private static final String ERROR_INTERNO = "Error interno. Por favor, inténtelo otra vez en unos minutos.";

    private String usuariointereses;

    private String usuariodescribete;

    private String usuariositioweb;

    private String usuarioideasreligiosasideales;

    private String mensaje;

    private String usuariofoto;

    public PerfilModificarAction() {

    }

  /**
     * Metodo que muestra los datos del perfil del usuario en la pagina
     * @return
     */
   @Override
   
  public String execute()
    {
      String destino = INPUT;

        try
        {

        Map session = ActionContext.getContext().getSession();
        Usuario usuario = (Usuario)session.get("usuario");

        setUsuariodescribete(usuario.getUsuariodescribete());
        setUsuarioideasreligiosasideales(usuario.getUsuarioideasreligiosasideales());
        setUsuariointereses(usuario.getUsuariointereses());
        setUsuariositioweb(usuario.getUsuariositioweb());
        setUsuariofoto(usuariofoto);

        destino = SUCCESS;

        } catch (Exception e) {

            setMensaje("Ha habido una excepcion en el Sistema: " + e.getMessage());

        }
        finally
        {
            return destino;
        }

    }

  public String  llamadaP() {

         String destino = INPUT;

         Map session = ActionContext.getContext().getSession();
         Usuario usuario = (Usuario)session.get("usuario");
         usuario.setUsuariodescribete(usuariodescribete);
         usuario.setUsuarioideasreligiosasideales(usuarioideasreligiosasideales);
         usuario.setUsuariointereses(usuariointereses);
         usuario.setUsuariositioweb(usuariositioweb);
         String link = "img/" + getUsuariofoto();
         usuario.setUsuariofoto(link);
         UsuarioBO negocio = (UsuarioBO)AppContext.getApplicationContext().getBean("usuarioBO");

         try
         {
            setMensaje(negocio.actualizar(usuario));
            destino =  SUCCESS;
         } catch (Exception e)
         {
             destino = ERROR_INTERNO;
             setMensaje("Ha habido una excepcion en el Sistema: " + e.getMessage());
         }
         finally
         {
            return destino;
         }
      }

   /**
     * @return the mensaje
     */
   public String getMensaje() {
        return mensaje;
    }

    /**
     * @param mensaje the mensaje to set
     */
    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }

    /**
     * Devuelve la descripcion del usuario
     */
    public String getUsuariodescribete() {
        return usuariodescribete;
    }

    /**
     *Asigna el valor a la descripcion del usario
     */
    public void setUsuariodescribete(String usuariodescribete) {
        this.usuariodescribete = usuariodescribete;
    }

    /**
     * Devuelve las ideas religiosas en el perfil del usuario
     */
    public String getUsuarioideasreligiosasideales() {
        return usuarioideasreligiosasideales;
    }

    /**
     * Asigna las ideas religiosas en el perfil del usuario
     */
    public void setUsuarioideasreligiosasideales(String usuarioideasreligiosasideales) {
        this.usuarioideasreligiosasideales = usuarioideasreligiosasideales;
    }

    /**
     * Devuelve el contenido de intereses del usuario en su perfil
     */
    public String getUsuariointereses() {
        return usuariointereses;
    }

    /**
     * Asigna el valor a los interes del usuario en su perfil
     */
    public void setUsuariointereses(String usuariointereses) {
        this.usuariointereses = usuariointereses;
    }

    /**
     * Devuelve la informacion de la preferencia de sitios web del usuario
     */
    public String getUsuariositioweb() {
        return usuariositioweb;
    }

    /**
     * Asigna el valor a la preferencia de sitios web del usuario
     */
    public void setUsuariositioweb(String usuariositioweb) {
        this.usuariositioweb = usuariositioweb;
    }

    /**
     * @return the usuariofoto
     */
    public String getUsuariofoto() {
        return usuariofoto;
    }

    /**
     * @param usuariofoto the usuariofoto to set
     */
    public void setUsuariofoto(String usuariofoto) {
        this.usuariofoto = usuariofoto;
    }


    
}

